package com.kehutong.charge.entity;

import com.kehutong.charge.util.enums.ChargeCalcEnum;
import com.kehutong.charge.util.enums.ChargeFeeEnum;
import com.kehutong.charge.util.enums.ResidentsTypeEnum;
import com.kehutong.common.entity.DataEntity;
import org.coraframework.json.annotation.JSONField;
import org.coraframework.orm.Entity;
import org.coraframework.orm.annotation.Column;
import org.coraframework.orm.annotation.Table;
import org.coraframework.orm.annotation.UnSave;
import org.coraframework.orm.util.IDType;

import java.math.BigDecimal;
import java.util.List;

/**
 * @program: kht
 * @description: ChargeHouseSet
 * @author: joneron
 * @create: 2021/6/23
 **/
@Table(value="t_charge_house_set", comment="收费房屋配置设置表",multi = true, idType = IDType.TIMESTAMP, engine = "innodb")
public class ChargeHouseSet extends Entity {

    protected ChargeHouseSet(String id) {
        super(id);
    }

    @Column(comment="收费房屋配置编号")
    private String chargeHouseNo;

    @Column(comment="收费项目Id")
    private String projectFeeNo;

    @Column(comment="收费项目名称")
    private String projectFeeName;

    @Column(comment="收费类型Id")
    private String feeTypeNo;

    @Column(comment="收费类型名称")
    private String feeTypeName;

    @Column(comment="小区编号")
    private String communityNo;

    @Column(comment="小区名称")
    private String communityName;

    @Column(comment="房屋编号")
    private String houseNo;

    @Column(comment="创建人")
    private String createName;

    @Column(comment="修改人")
    private String updateName;

    @JSONField(serialize = false)
    @Column(comment = "逻辑删除")
    private boolean deleted;

    @Column(comment="居住类型")
    private ResidentsTypeEnum reType;

    @Column(comment = "缴费人")
    private String chargeName;

    @Column(comment = "缴费人id")
    private String chargeId;

    @UnSave
    private ChargeProjectConfig chargeProjectConfig;

    @UnSave
    private MeterTypeConfig meterTypeConfig;

    public String getCommunityNo() {
        return communityNo;
    }

    public void setCommunityNo(String communityNo) {
        this.communityNo = communityNo;
    }

    public String getCommunityName() {
        return communityName;
    }

    public void setCommunityName(String communityName) {
        this.communityName = communityName;
    }

    public boolean isDeleted() {
        return deleted;
    }

    public void setDeleted(boolean deleted) {
        this.deleted = deleted;
    }

    public String getHouseNo() {
        return houseNo;
    }

    public void setHouseNo(String houseNo) {
        this.houseNo = houseNo;
    }

    public String getChargeHouseNo() {
        return chargeHouseNo;
    }

    public void setChargeHouseNo(String chargeHouseNo) {
        this.chargeHouseNo = chargeHouseNo;
    }

    public String getProjectFeeNo() {
        return projectFeeNo;
    }

    public void setProjectFeeNo(String projectFeeNo) {
        this.projectFeeNo = projectFeeNo;
    }

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public String getUpdateName() {
        return updateName;
    }

    public void setUpdateName(String updateName) {
        this.updateName = updateName;
    }

    public String getProjectFeeName() {
        return projectFeeName;
    }

    public void setProjectFeeName(String projectFeeName) {
        this.projectFeeName = projectFeeName;
    }

    public String getFeeTypeNo() {
        return feeTypeNo;
    }

    public void setFeeTypeNo(String feeTypeNo) {
        this.feeTypeNo = feeTypeNo;
    }

    public String getFeeTypeName() {
        return feeTypeName;
    }

    public void setFeeTypeName(String feeTypeName) {
        this.feeTypeName = feeTypeName;
    }

    public ChargeProjectConfig getChargeProjectConfig() {
        return chargeProjectConfig;
    }

    public void setChargeProjectConfig(ChargeProjectConfig chargeProjectConfig) {
        this.chargeProjectConfig = chargeProjectConfig;
    }

    public ResidentsTypeEnum getReType() {
        return reType;
    }

    public void setReType(ResidentsTypeEnum reType) {
        this.reType = reType;
    }

    public String getChargeName() {
        return chargeName;
    }

    public void setChargeName(String chargeName) {
        this.chargeName = chargeName;
    }

    public String getChargeId() {
        return chargeId;
    }

    public MeterTypeConfig getMeterTypeConfig() {
        return meterTypeConfig;
    }

    public void setMeterTypeConfig(MeterTypeConfig meterTypeConfig) {
        this.meterTypeConfig = meterTypeConfig;
    }

    public void setChargeId(String chargeId) {
        this.chargeId = chargeId;
    }

}
